package com.sh.data.engine.domain.authority.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sh.data.engine.domain.authority.model.domain.RoleDomain;
import com.sh.data.engine.domain.authority.model.param.RoleParam;
import com.sh.data.engine.domain.base.model.PageResult;
import com.sh.data.engine.repository.dao.authority.entity.RoleEntity;

import java.util.List;

/**
 * @author: mengzheng.mhc
 * @date: 2024/6/25 10:57
 */
public interface RoleService extends IService<RoleEntity> {

    Boolean addRole(RoleParam roleParam, Boolean execSecutityFlag);

    Long addRoleReturnId(RoleParam roleParam);

    Integer getRoleIdByUserId(String userId);

    String getRoleNameByRoleId(Integer roleId);

    Boolean editRole(RoleParam roleParam, Boolean execSecutityFlag);

    Boolean delRole(int id, Boolean execSecutityFlag);

    PageResult<RoleDomain> list(Integer pageNum, Integer pageSize, String roleName, String roleDesc);

    PageResult<RoleDomain> listSysRole(Integer pageNum, Integer pageSize, String roleName, String roleDesc);

    List<RoleDomain> findByMenuId(Long menuId);

    RoleDomain getByIdWithMenu(Long id);





}
